home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-09-04 | 7.0 KB | 190 lines | [TEXT/CWIE] |
- ========================================================================
- Metrowerks MWJavaC Compiler Release Notes
- ========================================================================
-
- Version: 1.3
- Date: 9-2-98
- Authors: Clinton Popetz, Greg Bolsinga, Tim Freehill, John Cortell
- ========================================================================
-
- Note: This compiler has a different object format than the compiler that
- shipped on Pro3. You *must* remove binaries from any projects before
- compiling with this compiler. The compiler will complain at you if you don't.
-
- ========================================================================
- New Features in This Version
- ========================================================================
-
- Support for compressed zips.
-
- Compiled natively on all hosts with the MW Java-to-native compilers.
-
- Improved hash algorithm for detecting changes in interfaces for classes
- (correctly forces recompiles.)
-
- Support for strictfp and widefp floating point semantics
-
- "Target selection" feature. In the doc comment (/** */ comment) for any
- field or method (but not inner class), the following syntax may be used
- to selectively include the given member in the compilation based on the
- active target name (as appearing in the "target" panel of the project window.
-
- /**
- * Blah Blah
- * #MWForTarget(targetName,anotherName,...)
- */
-
- or
-
- /**
- * Blah Blah
- * #MWNotForTarget(targetName,anotherName,...)
- */
-
- In the former, the field is only included for targets listed.
- In the latter, the field is only included for targets not listed.
-
- The # must be the first thing after the '*' (ignoring spaces). The strings
- in the parenthesis are not parsed for escapes, and any spaces _are_ included
- in the name (since target names can have spaces.) Only the first of any
- of these directives is active for a given field (they are mutualy exclusize,
- so there is no reason to want both anyway.)
-
- This feature only works with the 3.2 (Pro4) IDE.
-
- ========================================================================
- Bugs Fixed in this version
- ========================================================================
-
- Return types are now being properly checked for overrides.
-
- ========================================================================
- Bugs Fixed in 1.3fc4
- ========================================================================
-
- Character conversion for higher order characters on the Mac is now done correctly.
-
- ========================================================================
- Bugs Fixed in 1.3fc3
- ========================================================================
-
- Crash on MacOS when compiling some access methods for private
- constructors for outer classes of block-local anonymous classes.
-
- ========================================================================
- Bugs Fixed in 1.3fc2
- ========================================================================
-
- Incorrect bytecode generated for some equality tests which were inverted during
- optimizations.
-
- ========================================================================
- Bugs Fixed in 1.3fc1
- ========================================================================
-
- Crash when compiling methods which required private static field access methods on PPC
-
- Errors when compiling methods with > 64 local variables.
-
- ========================================================================
- Bugs Fixed in 1.3b4
- ========================================================================
-
- Browse data for package declarations was being emitted incorrectly.
-
- Changed CPU from "'****'" to "java" in compiler's target list, to make it mesh with linker.
-
- The max local variable count for methods in classfiles generated with debug info off was too
- low, resulting in verify errors. (MW08883)
-
- In large builds, the keyword "super" will no longer be forgotten, resulting in large numbers of
- compilation errors that go away with the next build (Tim's Metal bug.)
-
- The compiler is smarter about giving memory back for to the OS for things like compressed
- zips.
-
- ========================================================================
- Bugs Fixed in 1.3b3
- ========================================================================
-
- User break on Mac when file in project is missing. (MW08781)
-
- Generated headers are now placed in a subfolder of the target output directory, rather
- than next to the project file.
-
- Compilations after those involving errors would sometimes crash or proceed incorrectly.
- (MW08788)
-
- If two files from different packages have the same name except for case, the compiler will
- no longer incorrectly report that one is named incorrectly when strict names are on. Note
- that the IDE will still display both with the same case in the project window, but this shouldn't
- effect compilation.
-
- When inlining is enabled, the data size in the IDE will no longer be set incorrectly to "1";
-
- Compiler now correctly generates access methods (and the associated dummy classes)
- for private constructors that are used by inner classes.
-
- In large compiles (> 2000 classes or so) the compiler will no longer suddenly start reporting
- sporadic syntax errors.
-
-
- ========================================================================
- Bugs Fixed in 1.3b2
- ========================================================================
-
- Underflow for tiny doubles. (MW08728)
-
- Failure to compile subtargets for large number of targets. (MW08733)
-
- 68K Assertion removed
-
- No longer eats IDE memory for runtime of compiler (uses temp memory.)
-
- ========================================================================
- Bugs Fixed in 1.3b1
- ========================================================================
-
- Not emitting inner class Browser names correctly (MW06744)
-
- ICE on invalid assignment to casts a la:
- (boolean) err = true; (MW07456)
-
- ICE on defining an overriding method with an illegal return type. (MW07491)
-
- ICE on duplicate method declaration
-
- Crasher with non-existant variable assignments (MW07420)
-
- Better support of inlining across call sites; ICE for constant method
- parameter inlining is also eliminated.
-
- Better handling of ambiguous name collisions, particularly among inner classes.
-
- Better handling of named block local classes.
-
- Lower footprint in most cases.
-
- Better handling of low-memory conditions.
-
- ========================================================================
- Known Bugs and Incompatibilities
- ========================================================================
-
- ========================================================================
- Contacting Metrowerks
- ========================================================================
-
- For bug reports, technical questions, and suggestions, please use the
- forms in the Release Notes folder on the CD, and send them to
-
- support@metrowerks.com
-
- See the CodeWarrior on the Nets document in the Release Notes folder for
- more contact information, including a list of Internet newsgroups,
- online services, and patch and update sites.
-
- ========================================================================
-
- Metrowerks Corporation
-